<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>数据表格</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">

    <link rel="icon" href="../img/web/web.ico"/>
    <link rel="stylesheet" href="../layui/css/layui.css"/>
    <link rel="stylesheet" href="../css/app.css"/>
<body ontouchstart="">

<div class="layui-fluid">
    <div class="layui-row layui-col-space15">

        <div class="layui-col-md12">
            <div class="layui-card">
                <div class="layui-card-header">工具栏表格</div>
                <div class="layui-card-body">

                    <!-- 表格工具栏 -->
                    <div class="layui-row vip-btn-tool-box">
                        <div class="layui-col-sm12 layui-col-sm4 layui-col-md4 layui-btn-container">
                            <button class="layui-btn layui-btn-radius layui-btn-primary" id="vip-btn-add" title="新增"><i class="vip-icon">&#xe65c;</i>新增</button>
                            <button class="layui-btn layui-btn-radius layui-btn-primary" id="vip-btn-del" title="删除"><i class="vip-icon">&#xe664;</i>删除</button>
                            <button class="layui-btn layui-btn-radius layui-btn-primary" id="vip-btn-refresh" title="刷新"><i class="vip-icon">&#xe68a;</i>刷新</button>
                            <button class="layui-btn layui-btn-radius layui-btn-primary" id="vip-btn-subimt" title="提交"><i class="vip-icon">&#xe68a;</i>提交</button>
                        </div>
                        <div class="layui-col-sm12 layui-col-sm8 layui-col-md8">
                            <form class="layui-form layui-form-pane">
                                <div class="layui-form-item">
                                    <label class="layui-form-label layui-label-sm">标题</label>
                                    <div class="layui-input-inline layui-input-sm">
                                        <input type="text" name="search" required="" lay-verify="required" lay-vertype="tips" placeholder="请输入内容" autocomplete="off" class="layui-input" data-form-pw="1515934826270.1904">
                                    </div>
                                    <label class="layui-form-label layui-label-sm">选择</label>
                                    <div class="layui-input-inline layui-input-sm">
                                        <select name="select">
                                            <option value=""></option>
                                            <option value="1" selected="">选择一</option>
                                            <option value="2">选择二</option>
                                            <option value="3">选择三</option>
                                            <option value="4">选择四</option>
                                        </select>
                                    </div>
                                    <button id="vip-btn-search" type="button" class="layui-btn layui-btn-radius layui-btn-primary" title="搜索"><i class="vip-icon">&#xe6b0;</i></button>
                                </div>
                            </form>
                        </div>
                    </div>

                    <div id="demo-table-2" lay-filter="testtable"></div>
                </div>
            </div>
        </div>

    </div>
</div>

<script type="text/html" id="menu">
    <button class="layui-btn layui-btn-xs layui-bg-cyan" lay-event="view">查看</button>
    <button class="layui-btn layui-btn-xs layui-bg-gray" lay-event="edit">编辑</button>
    <button class="layui-btn layui-btn-xs layui-bg-red" lay-event="del">删除</button>
</script>   <!-- lay-skin="primary" -->
<script type="text/html" id="align1">
    <input type="checkbox" name="align[left]" title="靠左">
    <input type="checkbox" name="align[center]" title="居中">
    <input type="checkbox" name="align[right]" title="靠右">
</script>
<script type="text/html" id="sort">
    <input type="checkbox" name="sort[write]" title="升">
    <input type="checkbox" name="sort[write]" title="降">
</script>
<script type="text/html" id="fixed">
    <input type="checkbox" name="fixed[left]" title="左">
    <input type="checkbox" name="fixed[right]" title="右">
</script>
<script type="text/html" id="selecttype">
  <form class="layui-form" action="">
  <!-- style="width: calc(100% - 2px);" -->
  <div class="layui-input-inline" style="width: calc(100% - 2px);">
    <select name="modules" lay-verify="required">
        <option value="">直接选择或搜索选择</option>
        <option value="1">layer</option>
        <option value="2">form</option>
        <option value="3">layim</option>
        <option value="4">element</option>
        <option value="5">laytpl</option>
        <option value="6">upload</option>
        <option value="7">laydate</option>
        <option value="8">laypage</option>
        <option value="9">flow</option>
        <option value="10">util</option>
        <option value="11">code</option>
        <option value="12">tree</option>
        <option value="13">layedit</option>
        <option value="14">nav</option>
        <option value="15">tab</option>
        <option value="16">table</option>
        <option value="17">select</option>
        <option value="18">checkbox</option>
        <option value="19">switch</option>
        <option value="20">radio</option>
    </select>
    </div>
    </form>
</script>




<script type="text/javascript" src="../layui/layui.js"></script>
<script type="text/javascript">
layui.config({base: '../js/'}).use(['layer','table','form','app'],function(){
    var $ = layui.$, layer = layui.layer, table = layui.table, form = layui.form, app = layui.app;

    var urlValue=parent.layui.$('#url').val();
// layer.alert(tableIdValue);

    var url='';
    if(urlValue){
        url=urlValue;
    }else{
        url=urlValue+'/page/1';
    }



    // 表格
    var table2 = table.render({
        elem: '#demo-table-2'
        ,id: 'table-id-2'
        ,url: url   // 数据接口
        ,page: true                         // 开启分页
        ,loading: true                      // 开启loading
        ,cellMinWidth: 80                   // 每列最小宽度
        ,limits: [15,30,50]                 // 每页条数的选择项
        ,limit: 15                          // 默认每页条数
        ,toolbar: 'default'                 // 开启表格头部工具栏区域 该参数为 layui 2.4.0 开始新增。
        ,defaultToolbar: ['exports', 'filter', 'print'] // 自由配置头部工具栏右侧的图标 该参数为 layui 2.4.1 新增
        ,cols: [[                           // 表头
            {type: 'checkbox',fixed: 'left',rowspan:2}
            ,{title: '数据源',colspan:2,rowspan:1,width:200,align:'center',unresize:true}
            ,{title: '显示源',colspan:8,rowspan:1,width:160,align:'center'}
        ], [
            {field: 'id', title: '编码',unresize:true}
            ,{field: 'field', title: '含义',width:200,unresize:true}
            ,{field: 'source_type', title: '类型',width:200,unresize:true}
            ,{field: 'display_id', title: '编码',unresize:true}
            ,{field: 'display_name', title: '名称',colspan:1,rowspan:1,width:160,unresize:true,edit:true}
            ,{field: 'display_type', title: '类型',width:160,unresize:true,edit:true}
            ,{field: 'display_length', title: '长度',edit:true}
            // ,{field: 'status', title: '状态'}
            // ,{field: 'id', title: '显示位置',fixed: 'right',width:280,align:'center',templet:'#sort'}
            // ,{field: 'sort', title: '显示位置',fixed: 'right',width:280,align:'center',templet:'#align1'}
            ,{field: 'sort', title: '是否排序',fixed: 'right',width:180,align:'center',templet:'#sort'}
            ,{field: 'fixed',title: '固定列',fixed: 'right',width:180,align:'center',templet:'#fixed'}
        ]],
        done:function (res,curr,count){
           var tableView=this.elem.next(".layui-col-view");
           layui.each(tableView.find('tbody select'),function(index,item){
           var elem=$(item);
           elem.parents('div.layui-col-cell').css('overflow','visible');
           });
        }

    });

table.on('edit(testtable)', function(obj){ //注：edit是固定事件名，test是table原始容器的属性 lay-filter="对应的值"
    layer.alert("我编辑了单元格")
  console.log(obj.value); //得到修改后的值
  console.log(obj.field); //当前编辑的字段名
  console.log(obj.data); //所在行的所有相关数据

var checkStatus = table.checkStatus('table-id-2'); //idTest 即为基础参数 id 对应的值
 
console.log(checkStatus.data) //获取选中行的数据
console.log(checkStatus.data.length) //获取选中行数量，可作为是否有选中行的条件
console.log(checkStatus.isAll ) //表格是否全选


layer.alert(JSON.stringify(checkStatus.data));
var ssss=JSON.stringify(checkStatus.data);

$.post('/api/runHtml/table',{json:ssss},function(res){
            if(res.code == 0){
                // 渲染
                // vipTree.render($("#demo-tree"),{
                //     arr: res.list,
                //     simIcon: "&#xe67a;",            // 单个标题字体图标
                //     mouIconOpen: "&#xe683;",        // 含多个标题的打开字体图标
                //     mouIconClose: "&#xe67c;",       // 含多个标题的关闭的字体图标
                //     callback: function (id, name) {
                //         layer.msg("id:" + id + "，名字:" + name);
                //         table.reload('table-id-1', {});
                //     }
                // });
            }
        });










});




    // 监听新增按钮
    $('#vip-btn-add').on('click',function(){
        app.msg('点击了新增按钮');
    });

    // 监听多选删除按钮
    $('#vip-btn-del').on('click',function(){
        var checkStatus = table.checkStatus('table-id-2'); // table-id-2 即为基础参数id对应的值

        if(!checkStatus.data.length){
            app.msg('未选中数据');
            return false;
        }

        if(checkStatus.isAll){
            app.msg('全选了:'+ app.getIds(checkStatus.data) );
        }else{
            app.msg( app.getIds(checkStatus.data) );
        }

        console.log(checkStatus.data);
        //console.log(checkStatus.data);        //获取选中行的数据
        //console.log(checkStatus.data.length); //获取选中行数量，可作为是否有选中行的条件
        //console.log(checkStatus.isAll );      //表格是否全选
    });

    // 监听表格刷新
    $('#vip-btn-refresh').on('click',function(){
        // 重载方式 1
        table2.reload();
        // 重载方式 2
        // table.reload('table-id-2', {})
    });

    // 监听多选提交按钮
    $('#vip-btn-submit').on('click',function(){
        var checkStatus = table.checkStatus(base_table_id+'-table-id'); //test即为基础参数id对应的值
        if(checkStatus.data.length==0){
            layer.msg('请选择要提交的数据');
            return;
        }else{
            var array=checkStatus.data;
            // var arrList=copy(array);
            ajax.post(base_url+"/", {
                jsonstr: JSON.stringify(array)
            }, function (data) {
                if (data.code !== 200) {
                    layer.msg('批量提交失败');
                }else{
                    //obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                    layer.msg('批量提交成功');
                    table_metadata_column.reload();
                }
            });
        }
    });


    // 监听搜索按钮
    $(document).on('click','#vip-btn-search',function(){
        var title = $('input[name=search]').val();
        var select = $('select[name=select]').val();
        if(!title){
            app.msg('搜索不能为空');
            return false;
        }

        layer.alert('标题：'+title+';选择：'+select);
    });

    //监听工具条
    table.on('tool(table)', function(obj){
        var data = obj.data;            //获得当前行数据
        var layEvent = obj.event;       //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
        var tr = obj.tr;                //获得当前行 tr 的DOM对象

        if(layEvent === 'view'){ // 查看

            app.msg('您点击了查看');
            // do somehing

        }else if(layEvent === 'edit'){ // 编辑

            app.msg('您点击了编辑');
            // do somehing

        } else if(layEvent === 'del'){ //删除

            layer.confirm('真的删除行么', function(index){
                obj.del(); // 删除对应行（tr）的DOM结构
                layer.close(index);
                // do somehing
            });

        }
    });
});
</script>
</body>
</html>